Network appliances are often used to provide access to one or more network services. A network appliance may comprise a number of virtual servers, each virtual server providing access to a number of services. The virtual servers may manage incoming connections from clients, and direct client requests to one or more services. In the course of managing incoming connection requests, network appliances may provide load balancing among the virtual servers. When a virtual server is down or unavailable to service a connection request, the appliance may use a backup virtual server to manage incoming connections.
A virtual server may be operational or available but not operating at a desired performance level. A network appliance may direct a client request or connection to a virtual server operating less than an optimal performance level. For example, a network appliance may direct a client request to a virtual server that is slow. In another example, the network appliance may direct a client request to a virtual server that is servicing a high amount of responses or network traffic. The virtual server may be using significant network capacity transferring requests and responses between clients and serviced. In some cases, the response time of the virtual server may decrease if it handles additional client connections because of the limited availability of bandwidth. In other cases, the round trip times between the server and the virtual server or between the client and server may decrease due to the limited availability of bandwidth.
It would, therefore, be desirable to provide systems and methods to dynamically spillover between virtual servers providing access to one or more services based on a bandwidth.